"""
组合关键字：
    python中定义函数的时候：
    位置参数，默认值参数，可变参数，命名关键字参数，关键字参数
"""


def test(a, b=10, *c, **kwargs):
    print(a)
    print(b)
    print(c)
    print(kwargs)


test(1, 2, 3, 4, name='zhangsan', age='18')


# 定义一种万能的接收参数的 函数
def func(*a, **kwargs):
    print(a)
    print(kwargs)


func(1, 2, 'ss', name='hh', ss='sssss')
# def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
print('ssss', end=' *** ' * 20)
print()


def fun2(a, b=30, *c, d, e=20, **kw):
    print("a:", a)
    print("b:", b)
    print("c:", c)
    print("d:", d)
    print("e:", e)
    print("kw:", kw)


# fun2(10, 20, 25, 30, 25, 40, d=5, n=80, t=100)


def fun3(d, e=20, **kw):
    print("d:", d)
    print("e:", e)
    print("kw:", kw)


fun3(d=5, n=80, t=100)
